
namespace test_ns
{
template <class ParentT>
class MethodAMixin : public ParentT
{
public:
   void methodA();   
};

template <class ParentT>
class MethodBMixin : public ParentT
{
public:
   void methodB();
};

template <class ParentT>
class MethodCMixin : public ParentT
{
public:
   void methodC();
};

class Base
{
public:
  void methodBase();
};

typedef MethodAMixin< MethodBMixin< MethodCMixin< Base > > > ParentType;


class MyClass : public ParentType
{
public:
   MyClass();
   bool getSomething();
};


} // namespace test_ns
